#include<bits/stdc++.h>
using namespace std;
string op,ad;
int a[5],n,ji=1,jji=0,jiji=1;
int check[2];
bool b;
char sh[3]={'2','5','5'};
bool pan() {
	for(int i=0; i<4; i++){
		if(a[i]>255||a[i]<0) return false;
	}
	if(a[4]>65535) return false;
	return true;
}
//void err() {
//	for(int i=0; i<ad.size(); i++) {
//		if(ad[i]<='9'&&ad[i]>='0') {
//			if(ad[i]=='0') {
//				if(i!=0&&(!(ad[i-1]<='9'&&ad[i-1]>='0')&&(ad[i+1]<='9'&&ad[i+1]>='0'))&&i!=ad.size()-1) {
//					cout<<"ERR"<<endl;
//					b=true;
//					return ;
//				}
//			}else{
//				if(jji==3&&jiji==1&&ad[i]>='2')
//			}
//			
//		} else {
//			if(ad[i]=='.') check[0]++;
//			else if(ad[i]==':'){
//				check[1]++;
////				cout<<ad[i]<<endl;
//			}
//			if(check[0]>3||check[1]>1) {
//				cout<<"ERR "<<check[0]<<" "<<check[1]<<endl;
//				b=true;
//				return ;
//			}
//			jji++;
//			ji=1;
//		}
//	}
//	if(check[0]!=3||check[1]!=1) {
//		cout<<"ERR"<<endl;
//		b=true;
//		return ;
//	}
//	if(!pan()) {
//		cout<<"ERR"<<endl;
////		cout<<"Pan"<<endl;
//		b=true;
//		return ;
//	}
//	jji=0;
//	ji=1;
//	check[0]=0;
//	check[1]=0;
//	for(int i=0;i<5;i++){
//		a[i]=0;
//	}
//	return ;
//}
map <string,int> m;
int main() {
	freopen("network.in","r",stdin);
	freopen("network.out","w",stdout);
	cin>>n;
	while(n) {
		cin>>op>>ad;
		err();
		if(!b) {
			if(op=="Server") {
				if(m[ad]) {
					cout<<"FAIL"<<endl;
				} else {
					cout<<"OK"<<endl;
					m[ad]=true;
				}
			} else {
				if(!m[ad]) {
					cout<<"FAIL"<<endl;
				} else {
					cout<<m[ad]<<endl;
				}
			}
		}
		n--;
		b=false;
	}
	return 0;
}
